package com.zyl.function;


import java.util.function.Function;

/**
 * @author zhaoyl
 * @date 2024/5/17 10:42
 * @description 说明
 * Function 函数式接口
 * 函数式接口(Functional Interface)就是一个有且仅有一个抽象方法，但是可以有多个非抽象方法的接口。
 * Functional Interface(功能接口)为lambda表达式和方法引用(用冒号::来进行方法的调用)提供目标类型。
 * 每个功能接口都有一个抽象方法，称为该功能接口的功能方法，lambda表达式的参数和返回类型与之匹配或适配。
 * 功能接口可以在多个上下文中提供目标类型，例如赋值上下文，方法调用或强制转换上下文：
 */
public class FunctionDemo {
    public static void main(String[] args) {
        //普通定义
//        Function function = new Function<String,String>() {
//            @Override
//            public String apply(String str) {
//                return str;
//            }
//        };
        //lambda表达式
        Function function =(str)->{
            return str+"-BBB";
        };

        System.out.println(function.apply("传入参数AAA"));
    }
}
